10 REM TEXTVERARBEITUNGSPROGRAMM 64 20 REM (P) COMMODORE WELT = 30 REM ============================ 40 REM (C) BY PETER BASCH 7.0 = 50 REM (V) BY BERND WELTE 2.0 = 60 REM = 70 REM VERSION 2.0 40 Z/ASCII = 80 REM COMMODORE 64 + 1541 = 90 REM ============================ 100 PRINTCHR$(014):P$=CHR$(046):OPEN1,4,2:OPEN3,4,1:OPEN4,4,7 110 DIMZ$(660),E$(61):CL$=CHR$(147):CD$=CHR$(017):RN$=CHR$(018):RF$=CHR$(146):RQ$=CHR$(145):RB$=CHR$(157):SP$=CHR$(032):EC$=CHR$(027):IN$=CHR$(027)+CHR$(064) 120 POKE650,128 130 PRINTCL$RN$" [208]ETER'S [212]EXT FUER DEN [195]64'ER "; 140 PRINTRN$" < _ > ZUM [205]ENUE < * > [204]EERZEILE "RF$; 150 PRINT" MIT [194]RIEFKOPF = <[194]> " 160 PRINT"MIT [193]BSENDERZEILE = <[193]>" 170 PRINT" ODER [206]EUTRAL = <[206]>":PRINT#1,IN$; 180 GETY$:IFY$=""THEN180 190 IFY$="N"THEN720 200 IFY$="B"THEN350 210 IFY$="A"THEN330 220 GOTO 180 230 Y$="B" 240 PRINT"[211]CHRIFT ? < [208] > [208]ICA < [201] > [201]TALIC" 250 PRINT" < [203] > [203]OMPR. < [211] > [211]CHOEN" 260 GETB$:IFB$=""THEN260 270 IFY$="B"ANDB$="K"THENPRINT"[203]EINE KOMPRIMIERTE [211]CHRIFT MOEGLICH":GOTO260 280 IFB$="P" THEN RETURN 290 IFB$="K" THENPRINT#1,EC$;CHR$(15);:RETURN 300 IFB$="I" THENPRINT#1,EC$;CHR$(52);:RETURN 310 IFB$="S" THENPRINT#1,EC$;CHR$(88);CHR$(1);:RETURN 320 GOTO260 330 GOSUB240 340 PRINT#1,SPC(8)"[208]ETER [194]ASCH":PRINT#1,SPC(8)"[198]AERBERSTR. 27"; 345 PRINT#1,SPC(8)"8998 LINDENBERG":PRINT#1,SPC(8)"TEL. 0838176573" 346 FOR I=1TO4:PRINT#1:NEXTI:GOTO730 350 PRINT:PRINTRN$" [193]DRESSEN EINGABE ":PRINT 360 INPUT" [193]NREDE ";A$ 370 INPUT" [212]ITEL ";K$ 380 INPUT" [206]AME ";N$ 390 INPUT" [211]TRASSE ";C$ 400 INPUT" [208][204][218] [207]RT ";D$ 410 INPUT" [201]HR [196]ATUM ";E$ 420 IFE$=""THENE$=" " 430 INPUT" UNS. [218]EICHEN ";F$ 440 IFF$=""THENF$=" " 450 INPUT" [196]ATUM ";G$ 460 INPUT" [193]NREDE ";H$ 470 PRINT#3,CHR$(14)"========================================" 480 PRINT#3,EC$;CHR$(87);CHR$(0); 490 PRINT#3,EC$;CHR$(80); 500 PRINT#3,EC$;CHR$(69);CHR$(14)"PETER BASCH DL1GBC" 510 PRINT#3,EC$;CHR$(70); 520 PRINT#3,EC$;CHR$(20)"FAERBERSTR. 27"; 530 PRINT#3,EC$;CHR$(15)SPC(87)"AMATEURRADIOSTATION" 540 PRINT#3,EC$;CHR$(65);CHR$(5) 550 PRINT#3,EC$;CHR$(45);CHR$(1); 560 PRINT#3,"8998 LINDENBERG" 570 PRINT#3,EC$;CHR$(45);CHR$(0); 580 PRINT#3,EC$;CHR$(15);SPC(111)"[207]RTSVERBAND [204]INDAU/[194]":PRINT#3 590 PRINT#3,"TEL. 08381/6573"; 600 PRINT#3,EC$;CHR$(69)SPC(57)"DOK T 13" 610 PRINT#3,EC$;CHR$(70) 620 PRINT#3,EC$;CHR$(83);CHR$(1); 630 PRINT#3,"BANK KRSPK 7988 WANGEN BLZ 65052020 KTNR. 938866":PRINT#3 640 PRINT#3,EC$;CHR$(84); 650 PRINT#3,CHR$(18);CHR$(14)"========================================":PRINT# 3,IN$ 660 FORI=1TO2:PRINT#3,"":PRINT#3,EC$;CHR$(74);CHR$(I);:NEXTI:PRINT#4,IN$; 670 GOSUB230 680 PRINT#4,SPC(8)A$:PRINT#4,SPC(8)K$:PRINT#4,SPC(8)N$:PRINT#4,SPC(8)C$:PRINT#4,SPC(8)D$:FORI=1TO3:PRINT#4:NEXTI 690 FORI=1TO80:PRINT#1,CHR$(45);:NEXTI 700 PRINT#1,EC$;CHR$(77);" [201]HR [211]CHREIBEN VOM: ";E$;" UNSER [218]EICHEN ";F$;" [196]ATUM :";G$ 710 PRINT#1:PRINT#1:PRINT#1:PRINT#4,SPC(8)H$:PRINT#4,EC$;CHR$(70):GOTO2020 720 GOSUB240 730 GOTO 2020 740 PRINTCHR$(175)+RB$; 750 GETT$:IFT$=""THEN750 760 T=ASC(T$):IFT=20ANDW=1ANDZ<=1ANDLEN(TT$)=0THENT$="":PRINTCL$;:Z=1:GOTO740 770 IFW=2ANDT=20ANDLEN(TT$)=0THENT$="":GOTO750 780 IFT>13ANDT<20ORT>20ANDT<32ORT>128ANDT<133ORT>144ANDT<160THENT$="":GOTO750 790 IFT=95THENRETURN 800 IFT=42THENTT=66:Z$(Z)=TT$:Z=Z+1:TT$="":PRINT"[218]EILE "Z-1:GOTO740 810 IFT=13THEN740 820 IFT=34THENT$="'" 830 IFT<>20ANDLEN(T$)=1THENPRINTT$; 840 IFT<>20GOTO940 850 IFLEN(TT$)=1THEN880 860 IFW=1THEN870 870 TT$=LEFT$(TT$,LEN(TT$)-1):PRINTCHR$(20);:GOTO740 880 L=L-LEN(TT$):TT$="":PRINTSP$RB$CHR$(20);:IFW=1THENZ$(Z)="":Z=Z-1:IFZ=0THENZ=1 890 IFW=1THENTT$=Z$(Z) 900 IFW=0THENE=E-1:IFE=0THENE=1 910 IFW=0THENTT$=E$(E) 920 IFW=2THENTT$="":GOTO750 930 RETURN 940 IFLEN(T$)>1THEN1000 950 IFQ=0ANDLEN(TT$)>U-3ANDT$=" "THEN990 960 TT$=TT$+T$ 970 IFLEN(TT$)>54THENGOSUB2180 980 IFLEN(TT$)U+1THENT$="":GOTO950 1020 NEXT:T$="":GOTO950 1030 W=1:PRINT:PRINTCL$"[215]EITERSCHREIBEN ";RN$" (1) "RF$ 1040 PRINT"[206]EUEN [212]EXT EING.";RN$" (2) "RF$ 1050 GETX$:X=VAL(X$):IFX<1ORX>2THEN1050 1060 ONXGOTO1070,1190 1070 PRINTCL$RQ$; 1080 FORI=1TO66:PRINTRN$P$;:NEXT:PRINT"<[218]EILENENDE" 1090 Z$(Z)=TT$:Z=Z+1:TT$="":GOSUB740 1100 IFT$=CHR$(95)THENZ$(Z)=TT$:TT$="":T$="":W=0:RETURN 1110 GOTO1090 1120 PRINTCL$RQ$; 1130 FORI=1TO66:PRINTRN$P$;:NEXT:PRINT"<[218]EILENENDE" 1140 FORX=1TOZ:Z$(Z)="":Z=1:GOSUB740 1150 IFT$=CHR$(95)THENZ$(Z)=TT$:TT$="":T$="":W=0:RETURN 1160 Z$(Z)=TT$:Z=Z+1:TT$="":PRINT" [218]EILE ";Z-1:GOSUB740 1170 IFT$=CHR$(95)THENZ$(Z)=TT$:TT$="":T$="":W=0:RETURN 1180 GOTO1160 1190 U=64:GOTO1120 1200 A=1:B=8 1210 PRINTCL$:C=B-A:FORX=ATOB:PRINTRN$;X;RB$" "RF$;TAB(6);Z$(X):NEXT:PRINTCD$ 1220 POKE781,21:POKE782,0:POKE783,0:SYS65520 1230 PRINTRN$" (L) [204]OESCHEN (E) [197]INFUEGEN "; 1240 PRINT" (+ - ) [194]LAETTERN (B) [194]LOCKTAUSCH "; 1250 PRINT" (_) [197]NDE "; 1260 GETK$:IFK$=""THEN1260 1270 IFK$="L"THEN1360 1280 IFK$="E"THEN1390 1290 IFK$="B"THEN1520 1300 IFK$="-"THENA=A-1-C:B=A+C:IFA<1THENA=1:B=A+C 1310 IFK$="-"THEN1210 1320 IFK$="+"THENA=B+1:B=B+1+C:IFB+1+C>660THENB=660:A=B-C 1330 IFK$="+"THEN1210 1340 IFK$=CHR$(95)THENA=0:B=0:RETURN 1350 GOTO1210 1360 PRINTCD$"[215]ELCHE [218]EILE SOLL GELOESCHT WERDEN? 0=[201]RRTUM ";:INPUT" [218]EILEN-[206]R. ";KK:IFKK=0THEN1210 1370 IFKK>ZTHENPRINTRQ$RQ$RQ$RQ$RQ$RQ$RQ$:GOTO1360 1380 FORX=KKTOZ:Z$(X)=Z$(X+1):NEXT:Z$(Z)="":Z=Z-1:KK=0:GOTO1210 1390 PRINTCD$"[214]OR WELCHER [218]EILE SOLL EINGEFUEGT WERDEN? (0=[218]URUECK) ";:INPUT" [218]EILEN-[206]R. ";KK:IFKK>ZTHENPRINTRQ$RQ$:GOTO1390 1400 IFKK=0THEN1210 1410 W=0:E=0:PRINTCL$"[197]S KOENNEN MAXIMAL 60 [218]EICHEN EINGEFUEGT WERDEN!" 1420 FORX=1TO660:NEXT:PRINTCL$:E=1:IFZ+1>=660THEN1210 1430 GOSUB740:IFT$=CHR$(95)THENE$(E)=TT$:TT$="":T$="":GOTO1490 1440 E$(E)=TT$:TT$="":T$="":E=E+1:IFE=61THEN1490 1450 IFZ+E=660GOTO1490 1460 GOSUB740 1470 IFT$=CHR$(95)THENE$(E)=TT$:TT$="":T$="":GOTO1490 1480 GOTO1440 1490 Z=Z+E:FORX=ZTOKK+E-1STEP-1:Z$(X)=Z$(X-E):NEXT 1500 F=0:FORX=KKTOKK+E-1:F=F+1:Z$(X)=E$(F):E$(F)="":NEXT:KK=0:E=1 1510 GOTO1210 1520 PRINTCD$"[214]ON WELCHER [218]EILE ";:INPUT"[218]EILEN-[206]R. ";AA$:IFAA$=CHR$(95)THEN1210 1530 AA=VAL(AA$):IFAA<1ORAB>ZTHENPRINTRQ$RQ$:GOTO1520 1540 PRINT"BIS ZU WELCHER [218]EILE ";:INPUT"[218]EILEN-[206]R. ";BB:IFBBZTHENPRINTRQ$RQ$:GOTO1540 1550 PRINT"[214]OR WELCHER [218]EILE SOLL EINGEFUEGT WERDEN ?";:INPUT"[218]EILEN-[206]R. ";CC:IFCC<1ORCC>ZTHENPRINTRQ$RQ$:GOTO1550 1560 DD=BB+1-AA:IFDD>60THENPRINT"[194]LOCK ZU GROSS":GOTO1210 1570 E=0:E$="":FORD=AATOBB:E=E+1:E$(E)=Z$(D):NEXT 1580 Z=Z+DD+1:FORD=ZTOCC+DD-1STEP-1:Z$(D)=Z$(D-DD):NEXT:D=0:E=0 1590 FORD=CCTOCC+DD-1:E=E+1:Z$(D)=E$(E):NEXT:X=0 1600 PRINT"[194]LOCK 1 LOESCHEN ";RN$" J/N ? " 1610 GETX$:IFX$=""THEN1610 1620 IFX$="J"THEN1650 1630 IFX$="N"THEN1210 1640 GOTO1610 1650 FORX=AATOZ:Z$(X)=Z$(X+DD):NEXT:Z=Z-DD:GOTO1200 1660 PRINTCL$RN$" [193]USDRUCK " 1670 GOSUB1780 1680 XX=0 1690 FORX=ATOB:PRINT#1,CHR$(9);:GOSUB1760:MA=MA+1:IFMA/T=INT(MA/T)THENXX=XX+1 1700 NEXT 1710 PRINT"[206]OCH EIN [196]RUCK? (J/N) ":PRINTRQ$RQ$:XX=0:MA=0 1720 GETY$:IFY$=""THEN1720 1730 IFY$="J"THENPRINTRQ$RQ$:MA=0:GOTO1670 1740 IFY$="N"THENX$="":Y$="":Q=0:RETURN 1750 GOTO1720 1760 FORZZ=1TOLEN(Z$(X)):IP$=MID$(Z$(X),ZZ,1) 1770 PRINT#4,IP$;:NEXTZZ:PRINT#4:RETURN 1780 T=60:P=8:A$="0" 1790 A$="0":A=VAL(A$):IFA=0THENA=1:B=Z:GOTO1810 1800 IFA<0ORA>ZTHENPRINTRQ$RQ$RQ$:GOTO1790 1810 RETURN 1820 PRINTCL$:OPEN15,8,15 1830 PRINT#15,"I0":GOSUB1950:INPUT"[196]ATEINAME:";CB$:DB$="0:"+CB$+",S,W" 1840 GOTO1970 1850 OPEN2,8,2,DB$:PRINT"[196]ATEI ";RN$ CB$ RF$;" WIRD GESPEICHERT." 1860 PRINT#2,Z:PRINT#2,U:FORX=1TOZ:IFZ$(X)=""THENZ$(X)=CHR$(95) 1870 PRINT#2,CHR$(34);Z$(X):IFZ$(X)=CHR$(95)THENZ$(X)="" 1880 NEXT:CLOSE2:CLOSE15:RETURN 1890 PRINTCL$:OPEN15,8,15:PRINT#15,"I0" 1900 GOSUB1950:INPUT"[196]ATEINAME: ";CB$:DB$="0:"+CB$+",S,R" 1910 GOSUB1950:CLOSE2:OPEN2,8,2,DB$:GOSUB1950:PRINTCD$"[196]ATEI ";RN$CB$RF$;" WIRD EINGELESEN." 1920 INPUT#2,Z:INPUT#2,U:FORX=1TOZ 1930 INPUT#2,Z$(X):IFZ$(X)=CHR$(95)THENZ$(X)="" 1940 NEXT:CLOSE2:CLOSE15:RETURN 1950 INPUT#15,V$,W$,X$,Y$:IFVAL(V$)<>0THENPRINTV$,W$,X$,Y$ 1960 RETURN 1970 OPEN2,8,2,DB$:GOSUB1950:IFVAL(V$)<>63THENCLOSE2:PRINT#15,"S0:"+CB$:GOTO1850 1980 IFVAL(V$)=63THENPRINT"[196]ATEI UEBERSCHREIBEN ";RN$" J/N ? " 1990 GETZ$:IFZ$=""THEN1990 2000 IFZ$="N"THENCLOSE2:CLOSE15:GOTO1820 2010 IFZ$="J"THENCLOSE2:PRINT#15,"S0:"+CB$:GOSUB1950:GOTO1850 2020 X$="":X=0:Q=0:W=0:PRINTCL$CHR$(14) 2030 PRINTCD$CD$SPC(14)RN$" [205] E N U E ":PRINT 2040 PRINTSPC(8)RN$"-1-";RF$" [212]EXT EINGEBEN":PRINT 2050 PRINTSPC(8)RN$"-2-";RF$" [212]EXT KORRIGIEREN":PRINT 2060 PRINTSPC(8)RN$"-3-";RF$" [212]EXT DRUCKEN":PRINT 2070 PRINTSPC(8)RN$"-4-";RF$" [212]EXT SPEICHERN":PRINT 2080 PRINTSPC(8)RN$"-5-";RF$" [212]EXT EINLESEN":PRINT 2090 PRINTSPC(8)RN$"-6-";RF$" [208]ROGRAMMENDE":PRINT 2100 PRINTSPC(8)RN$"-7-";RF$" [218]URUECK":PRINT 2110 PRINTSPC(8)"[215]AEHLEN [211]IE ";RN$" 1-7 ":PRINT 2120 PRINT:PRINTSPC(5)"[198]REIER [211]PEICHER =";:PRINTFRE(0)"[194]YTES" 2130 GETX$:X=VAL(X$):IFX<1ORX>7THEN2130 2140 IFX=6THENPRINTCHR$(19);CHR$(19);CL$:CLOSE1:CLOSE3:CLOSE4:END 2150 IFX=7 GOTO 130 2160 ONXGOSUB1030,1200,1660,1820,1890 2170 GOTO2020 2180 SI=54272:FL=SI:FH=SI+1:W=SI+4:A=SI+5:H=SI+6:L=SI+24 2190 POKEL,15:POKEA,16+9:POKEH,4*16+4:POKEFH,29:POKEFL,69 2200 POKEW,17:FORT=1TO100:NEXT 2210 POKEW,0:POKEA,0:POKEH,0 2220 RETURN 2230 REM TEXTPROGRAMM ========= C64 2240 REM 038911 BYTES MEMORY === 2250 REM 007548 BYTES PROGRAM === 2260 REM 000112 BYTES VARIABLES === 2270 REM 002183 BYTES ARRAYS === 2280 REM 000040 BYTES STRINGS === 2290 REM 029028 BYTES FREE (0) === 2300 REM ==========================